package LeetCode.Medium;

import java.util.ArrayDeque;
import java.util.Deque;

/*
用两个栈实现一个队列。队列的声明如下：请实现它的两个函数,完成在队列尾部插入整数和在队列头部删除整数的功能。
没有元素，删除返回-1
 */
public class Question002 {

}

class CQueue{
    Deque<Integer> stack1;
    Deque<Integer> stack2;
    public CQueue(){
        stack1 = new ArrayDeque<>();
        stack2 = new ArrayDeque<>();
    }
    public void appendTail(int value){
        stack1.addFirst(value);
    }

    public int deleteHead(){
        if(!stack2.isEmpty() && !stack1.isEmpty()){
            return -1;
        }
        if(!stack2.isEmpty()){
            return stack2.removeFirst();
        }else{
            while(!stack1.isEmpty()){
                stack2.addFirst(stack1.removeFirst());
            }
            return stack2.removeFirst();

        }

    }
}